module.exports = {
  // 修改打包后的访问的资源路径为./
  publicPath: './',
  // webpack-dev-server: 开其本地服务
  // 自定义配置本地服务
  devServer: {
    port: 8082,
    open: true,
    proxy: {
      // 端口号后面 以 /api开头的 进行 代理
      // 像本地发请求 const res = await this.$http.get('http://localhost:8082/api/person')
      // target + 将/api后面进行截取
      '/api': {
        target: 'http://115.159.87.220:8083',// 要跨域的域名
        changeOrigin: true // 是否开启跨域
      },
      '/get': {
        target: 'http://115.159.87.220:8083',// 要跨域的域名
        changeOrigin: true // 是否开启跨域
      }
    }
  },
  // 配置自定义入口文件
  chainWebpack: config => {
    // config 进行配置
    // config.when(判断条件, () => { 逻辑 }) 类似 if (判断条件) { 执行的逻辑 }
    config.when(process.env.NODE_ENV === 'production', config => {
      // 发布阶段入口文件的配置: 上线的代码
      config.entry('app').clear().add('./src/main-prod.js')

      //使用externals设置排除项
      config.set('externals',{
        vue:'Vue',
        'vue-router':'VueRouter',
        axios:'axios',
        echarts:'echarts',
        nprogress:'NProgress',
        'vue-quill-editor':'VueQuillEditor'
      })

      // 给htmlwebpackplugin插件添加isProd标识: true
      config.plugin('html').tap(args=>{
        //添加参数isProd
        args[0].isProd = true
        return args
      })
    })

    config.when(process.env.NODE_ENV === 'development', config => {
      // 开发阶段入口文件的配置: 开发阶段的代码
      config.entry('app').clear().add('./src/main-dev.js')
      // 给htmlwebpackplugin插件添加isProd标识: false
      config.plugin('html').tap(args=>{
        //添加参数isProd
        args[0].isProd = false
        return args
      })
    })
  }
}